using System;
using System.Data;
using System.Runtime.CompilerServices;

namespace Catastrophe.Log
{
	public interface ILog
	{
		void WriteLogNormal(LogLevelEnum logType, string definemsg, Exception ex, string user = "", [CallerMemberName] string methodName = "", [CallerFilePath] string sourceFilePath = "", [CallerLineNumber] int sourceLineNumber = 0);

		void WriteLogOnce(LogLevelEnum logType, string definemsg, Exception ex, string user = "", [CallerMemberName] string methodName = "", [CallerFilePath] string sourceFilePath = "", [CallerLineNumber] int sourceLineNumber = 0);

		DataTable QueryLog(string errorLevel, string definemsg, string timeStart, string timeEnd);

		void ClearLog(DateTime? startTime, DateTime? endTime);
	}
}
